package com.leyou.item.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.leyou.item.entity.TbSku;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;

/**
 * <p>
 * sku表,该表表示具体的商品实体,如黑色的 64g的iphone 8 Mapper 接口
 * </p>
 *
 * @author HM
 * @since 2020-10-07
 */
public interface TbSkuMapper extends BaseMapper<TbSku> {

    /**
     * sku减库存 防止超卖stock库存数量数据库中这个字段设置为无符号属性,这样就不会出现负数了
     * 还可以提前设置,在代码阶段,如果数量小于0,就直接抛出异常
     * @param skuId
     * @param num
     * @return
     */
    @Update("update tb_sku set  stock = stock-#{num} where id=#{id}")
    int minusSkuStock(@Param("id") Long skuId, @Param("num") Integer num);


    /**
     * sku加库存
     * @param skuId
     * @param num
     * @return
     */
    @Update("update tb_sku set  stock = stock+#{num} where id=#{id}")
    int plusStock(@Param("id") Long skuId, @Param("num")Integer num);
}
